package com.xhl.shiro.modules.admin.mapper;

import com.gitee.fastmybatis.core.mapper.CrudMapper;
import com.xhl.shiro.modules.admin.entity.SysUserEntity;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * @ClassName: SysUserMapper
 * @Description: 系统用户
 * @Author:     lisk
 * @Date:        2023-08-18 15:34
 * @Version: 1.0
 */
public interface SysUserMapper extends CrudMapper<SysUserEntity/*实体类*/,Integer/*主键类型*/> {

    // 自定义sql，官方自带，不需要写xml
    /**
     * 修改用户名
     * @param userId
     * @param username
     * @return 返回影响行数
     */
    @Update("update sys_user set username = #{username} where user_id = #{userId}")
    int updateByUserId(@Param("userId") int userId, @Param("username") String username);

    /**
     *查询用户的所有权限
     **/
    List<String> queryAllPerms(Long userId);

    /**
     * 查询用户的所有菜单ID
     */
    List<Long> queryAllMenuId(Long userId);

    /**
     * 根据用户名，查询系统用户
     */
    SysUserEntity queryByUserName(String username);
}
